Skip to content

ci: add a texera-web boot smoke test in amber-integration#6319

Open
mengw15 wants to merge 1 commit into
apache:mainfrom
mengw15:chore/6276-texera-web-boot
Open

ci: add a texera-web boot smoke test in amber-integration#6319
mengw15 wants to merge 1 commit into
apache:mainfrom
mengw15:chore/6276-texera-web-boot

Conversation

@mengw15

@mengw15 mengw15 commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

What changes were proposed in this PR?

Add a boot smoke test for texera-web to the amber-integration job: build the amber dist in-job and launch the packaged bin/texera-web-application via .github/scripts/smoke-boot.sh (from #6220), asserting it reaches a listening state (port 8080) without a runtime classpath/linkage crash.

texera-web was left out of #6274's platform-integration checks because it's built in the amber job, not platform; its boot check belongs in the infra-provisioned amber-integration job (mirroring how platform-integration hosts the platform boot checks).

  • Self-contained: the dist is built in-job (sbt WorkflowExecutionService/dist), not shipped as an artifact — so amber-integration stays independent of amber and runs in parallel (the platform-integrationplatform shape from ci: add platform-integration job to boot each service against real infra #6274). The compile is already warm from the integration-test run.
  • postgres-only: texera-web boots via TexeraWebApplication.runSqlServer.initConnection (+ createAdminUser); no S3 / LakeFS at boot, so amber-integration's postgres suffices. Config resolves through Utils.amberHomePath (a working-dir search for a dir named amber), finding ./amber from the checkout root and reading amber/src/main/resources/web-config.yml.
  • ubuntu-only: the boot is pure-JVM and OS-independent, so it doesn't also run on the macOS leg.

Concrete regression it catches: #6204 (Hadoop 3.4 → Jersey NoClassDefFoundError) — compiled and unit-tested clean but crashed texera-web on boot.

Any related issues, documentation, discussions?

Closes #6276. Boot script from #6220; mirrors the platform-integration boot checks in #6274.

How was this PR tested?

  • Verified texera-web's boot path touches postgres only (SqlServer.initConnection + AuthResource.createAdminUser; no S3 / LakeFS / MinIO anywhere in the class).
  • Confirmed FileAssetsBundle("../../frontend/dist", …) registers lazily (its run() only constructs + registers the servlet; the filesystem check is request-time), so the absent frontend build in CI doesn't block boot.
  • Confirmed the launcher name (bin/texera-web-application, per the prod image CMD) and port (8080, per web-config.yml).
  • Exercised end-to-end by this workflow's own amber-integration CI run (ubuntu leg).

Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code (claude-opus-4-8)

Boot the packaged texera-web (bin/texera-web-application) against
amber-integration's infra and assert it reaches a listening state
without a runtime classpath/linkage crash -- the check that would have
caught apache#6204 (Hadoop 3.4 -> Jersey NoClassDefFoundError) before merge.

Mirrors the platform-integration boot checks (apache#6274): the dist is built
in-job (self-contained, no artifact hand-off from the amber job) and
booted via .github/scripts/smoke-boot.sh. texera-web boots on postgres
only (TexeraWebApplication.run -> SqlServer.initConnection; no S3 /
LakeFS), which amber-integration already provisions. ubuntu-only, since
the boot is pure-JVM and OS-independent.

Closes apache#6276.
@github-actions github-actions Bot added the ci changes related to CI label Jul 10, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Automated Reviewer Suggestions

Based on the git blame history of the changed files, we recommend the following reviewers:

  • No candidates found from git blame history.

@codecov-commenter

codecov-commenter commented Jul 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 60.98%. Comparing base (0e92b16) to head (a3b139c).

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #6319      +/-   ##
============================================
- Coverage     61.02%   60.98%   -0.04%     
+ Complexity     3374     3373       -1     
============================================
  Files          1140     1140              
  Lines         44923    44923              
  Branches       4942     4942              
============================================
- Hits          27413    27398      -15     
- Misses        16001    16011      +10     
- Partials       1509     1514       +5     
Flag Coverage Δ
access-control-service 70.00% <ø> (ø)
agent-service 44.59% <ø> (ø)
amber 66.37% <ø> (-0.02%) ⬇️
computing-unit-managing-service 0.00% <ø> (ø)
config-service 52.30% <ø> (ø)
file-service 63.97% <ø> (ø)
frontend 53.28% <ø> (-0.05%) ⬇️
notebook-migration-service 78.94% <ø> (ø)
pyamber 91.13% <ø> (-0.05%) ⬇️
workflow-compiling-service 55.14% <ø> (ø)

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@mengw15 mengw15 marked this pull request as draft July 10, 2026 19:53
@mengw15 mengw15 requested a review from Copilot July 10, 2026 19:53

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a CI boot smoke test for the packaged texera-web application as part of the amber-integration workflow, so runtime classpath/linkage failures are caught during CI (even when compilation and unit tests succeed).

Changes:

  • Build the Amber distributable (WorkflowExecutionService/dist) within amber-integration on Ubuntu runners.
  • Unzip the dist and run .github/scripts/smoke-boot.sh against bin/texera-web-application, asserting it reaches LISTEN on port 8080.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/build.yml
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Benchmark changes need a look

🟢 0 better · 🔴 4 worse · ⚪ 11 noise (<±5%) · 0 without baseline

Compared against main 0e92b16 benchmarked on this same runner, so the delta is largely free of cross-runner hardware noise. The "7d avg" column still reflects the gh-pages dashboard. Treat <±5% as noise unless repeated.

Dashboard · Run

config throughput MB/s latency max Δ latest / 7d
🔴 bs=10 sw=10 sl=64 417 0.255 22,286/35,351/35,351 us 🔴 +9.1% / 🔴 +139.0%
bs=100 sw=10 sl=64 951 0.581 101,571/147,034/147,034 us ⚪ within ±5% / 🔴 +42.5%
bs=1000 sw=10 sl=64 1,105 0.674 912,099/941,542/941,542 us ⚪ within ±5% / 🟢 -7.9%
Baseline details

Latest main 0e92b16 from same runner

config metric PR latest main 7d avg Δ latest Δ 7d
bs=10 sw=10 sl=64 throughput 417 tuples/sec 442 tuples/sec 814.14 tuples/sec -5.7% -48.8%
bs=10 sw=10 sl=64 MB/s 0.255 MB/s 0.27 MB/s 0.497 MB/s -5.6% -48.7%
bs=10 sw=10 sl=64 p50 22,286 us 21,310 us 12,120 us +4.6% +83.9%
bs=10 sw=10 sl=64 p95 35,351 us 32,413 us 14,792 us +9.1% +139.0%
bs=10 sw=10 sl=64 p99 35,351 us 32,413 us 18,232 us +9.1% +93.9%
bs=100 sw=10 sl=64 throughput 951 tuples/sec 941 tuples/sec 1,050 tuples/sec +1.1% -9.4%
bs=100 sw=10 sl=64 MB/s 0.581 MB/s 0.574 MB/s 0.641 MB/s +1.2% -9.3%
bs=100 sw=10 sl=64 p50 101,571 us 102,867 us 96,227 us -1.3% +5.6%
bs=100 sw=10 sl=64 p95 147,034 us 151,526 us 103,174 us -3.0% +42.5%
bs=100 sw=10 sl=64 p99 147,034 us 151,526 us 111,033 us -3.0% +32.4%
bs=1000 sw=10 sl=64 throughput 1,105 tuples/sec 1,115 tuples/sec 1,072 tuples/sec -0.9% +3.0%
bs=1000 sw=10 sl=64 MB/s 0.674 MB/s 0.681 MB/s 0.655 MB/s -1.0% +3.0%
bs=1000 sw=10 sl=64 p50 912,099 us 900,234 us 950,645 us +1.3% -4.1%
bs=1000 sw=10 sl=64 p95 941,542 us 926,958 us 991,936 us +1.6% -5.1%
bs=1000 sw=10 sl=64 p99 941,542 us 926,958 us 1,022,498 us +1.6% -7.9%
Raw CSV
config_idx,batch_size,schema_width,string_len,num_batches,total_ms,total_tuples,total_bytes,tuples_per_sec,mb_per_sec,lat_p50_us,lat_p95_us,lat_p99_us
0,10,10,64,20,479.58,200,128000,417,0.255,22286.15,35351.13,35351.13
1,100,10,64,20,2102.04,2000,1280000,951,0.581,101570.92,147033.97,147033.97
2,1000,10,64,20,18104.50,20000,12800000,1105,0.674,912098.55,941542.31,941542.31

@mengw15 mengw15 marked this pull request as ready for review July 10, 2026 20:11
@mengw15 mengw15 requested a review from Yicong-Huang July 10, 2026 20:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci changes related to CI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a texera-web boot smoke test in amber-integration

3 participants